﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace TangoFamilyAndGuide.Site
{
    public partial class AirTicketCrear : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Funciones.SessionTimeOut(Session))
                {
                    Response.Redirect("~/UsuarioLogin.aspx");
                }
                else
                {
                    Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                    if (sesion.Usuario.WF.Estado != "Active")
                    {
                        Response.Redirect("~/Home.aspx");
                    }
                    ClaseDropDownList.DataSource = Entidades.TiposClase.TipoClase.ListaMasSinInformar();
                    Funciones.GenerarImagenCaptcha(Session, CaptchaImage, CaptchaTextBox);
                    NombreTextBox.Text = sesion.Usuario.Nombre;
                    NombreTextBox.Enabled = false;
                    EmailTextBox.Text = sesion.Usuario.Email;
                    EmailTextBox.Enabled = false;
                    TelefonoTextBox.Text = sesion.Usuario.Telefono;
                    DataBind();
                }
            }
        }
        protected void NuevaClaveCaptchaButton_Click(object sender, EventArgs e)
        {
            Funciones.GenerarImagenCaptcha(Session, CaptchaImage, CaptchaTextBox);
        }
        protected void EnviarButton_Click(object sender, EventArgs e)
        {
            MensajeLabel.Text = String.Empty;
            if (Funciones.SessionTimeOut(Session))
            {
                Response.Redirect("~/SessionTimeout.aspx");
            }
            else
            {
                Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                if (sesion.Usuario.WF.Estado != "Active")
                {
                    Response.Redirect("~/Home.aspx");
                }

                Entidades.AirTicket airTicket = new Entidades.AirTicket();
                airTicket.Nombre = NombreTextBox.Text;
                airTicket.Email = EmailTextBox.Text;
                airTicket.Telefono = TelefonoTextBox.Text;
                if (TypeTicketRoundTripRadioButton.Checked)
                {
                    airTicket.IdaYVuelta = true;
                }
                else
                {
                    airTicket.IdaYVuelta = false;
                }
                airTicket.PaisOrigen = PaisOrigenTextBox.Text;
                airTicket.LocalidadOrigen = LocalidadOrigenTextBox.Text;
                airTicket.PaisDestino = PaisDestinoTextBox.Text;
                airTicket.LocalidadDestino = LocalidadDestinoTextBox.Text;
                airTicket.Clase = ClaseDropDownList.SelectedValue;
                if (AdultsTextBox.Text != "")
                {
                    airTicket.CantidadPersonasAdult = Convert.ToInt32(AdultsTextBox.Text);
                }
                if (ChildsTextBox.Text != "")
                {
                    airTicket.CantidadPersonasChild = Convert.ToInt32(ChildsTextBox.Text);
                }
                try
                {
                    airTicket.FechaDesde = Convert.ToDateTime(FechaDesdeTextBox.Text);
                }
                catch
                {
                    MensajeLabel.Text = "Date from invalid format";
                    return;
                }
                try
                {
                    airTicket.FechaHasta = Convert.ToDateTime(FechaHastaTextBox.Text);
                }
                catch
                {
                    MensajeLabel.Text = "Date to invalid format";
                    return;
                }
                airTicket.Descripcion = DescripcionTextBox.Text;
                airTicket.FechaAlta = DateTime.Now;
                try
                {
                    RN.AirTicket.Validar(airTicket, Session["captcha"].ToString(), CaptchaTextBox.Text);
                    int IdAirTicket = 0;
                    RN.AirTicket.Registrar(out IdAirTicket, airTicket, (Entidades.Sesion)Session["Sesion"]);
                    EnviarButton.Visible = false;
                    BorrarDatosButton.Visible = false;
                    NuevaClaveCaptchaButton.Visible = false;
                    CaptchaImage.Visible = false;
                    ClaveLabel.Visible = false;
                    CaptchaTextBox.Visible = false;
                    CaseSensitiveLabel.Visible = false;
                    NombreTextBox.Enabled = false;
                    EmailTextBox.Enabled = false;
                    TelefonoTextBox.Enabled = false;
                    TypeTicketRoundTripRadioButton.Enabled = false;
                    TypeTicketOneWayRadioButton.Enabled = false;
                    PaisOrigenTextBox.Enabled = false;
                    LocalidadOrigenTextBox.Enabled = false;
                    PaisDestinoTextBox.Enabled = false;
                    LocalidadDestinoTextBox.Enabled = false;
                    FechaDesdeTextBox.Enabled = false;
                    FechaHastaTextBox.Enabled = false;
                    ClaseDropDownList.Enabled = false;
                    AdultsTextBox.Enabled = false;
                    ChildsTextBox.Enabled = false;
                    DescripcionTextBox.Enabled = false;
                    MensajeLabel.Text = "Formulario enviado satisfactoriamente. Number of request: " + IdAirTicket.ToString();
                }
                catch (Exception ex)
                {
                    MensajeLabel.Text = EX.Funciones.Detalle(ex);
                }
            }
        }
        protected void BorrarDatosButton_Click(object sender, EventArgs e)
        {
            NombreTextBox.Text = String.Empty;
            TelefonoTextBox.Text = String.Empty;
            EmailTextBox.Text = String.Empty;
            TypeTicketRoundTripRadioButton.Checked = true;
            TypeTicketOneWayRadioButton.Checked = false;
            PaisOrigenTextBox.Text = String.Empty;
            LocalidadOrigenTextBox.Text = String.Empty;
            PaisDestinoTextBox.Text = String.Empty;
            LocalidadDestinoTextBox.Text = String.Empty;
            FechaDesdeTextBox.Text = String.Empty;
            FechaHastaTextBox.Text = String.Empty;
            ClaseDropDownList.SelectedValue = String.Empty;
            AdultsTextBox.Text = String.Empty;
            ChildsTextBox.Text = String.Empty;
            DescripcionTextBox.Text = String.Empty;           
            MensajeLabel.Text = String.Empty;
            Funciones.GenerarImagenCaptcha(Session, CaptchaImage, CaptchaTextBox);
        }
    }
}